<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS函数</title>
</head>
<body>
    <script>
        //1.通过function关键字定义函数
        function f1(){
            console.log('欢度元旦');
        }
        f1();//调用函数

        //2.函数如果有参数，不需要写参数类型，直接写参数名字即可
        function f2(n){
            console.log('幸运数字:'+n);
        }
        f2(555);//传参
        //3.带多个参数的函数
        function f3(a,b){
            console.log(a+b);
        }
        f3(1,2);
        //形参与实参数量可以不一致
        f3(10,2,3);//若实参数大于形参数，多余的参数会被舍弃掉
        //若实参数小于形参数，未被赋值的形参值是undefined
        f3(10);//10+undefined=NaN(Not a Number)

        //4.arguments对象用来保存传入的实参
        function f4(){
            console.log(arguments);
        }
        f4(50);
        f4(50,60);
        f4(50,60,70);

        //5.使用return关键字返回函数结果
        function f5(a,b){
            return a-b;
        }
        //把f5返回的结果保存在res变量里
        let res = f5(10,2);
        console.log(res);

        //第二种声明函数的方式
        //f6保存了函数的所有内容，f6就相当于函数的名字
        let f6 = function(){ return 666;}
        console.log(f6());

        //第三种声明函数的方式
        //new Function(参数1,参数2,参数3,方法体)
        let f7 = new Function("name","age","console.log('哈哈哈哈');");
        f7('张三',18);
    </script> 17:17继续
</body>
</html>